/******************** 
	作用:添加运费模板
	作者:蔡俊雄
	版本:V1.0
	时间:2015-08-21
********************/

$(function() {
	General.extendDialog(); //扩展对话框

	//初始化
	function init() {
		changeFreightTemplate();
	}

	init(); //初始化


	//-----------------物流运费中的运费模板操作-----------------
	//根据下拉列表的选项切换运费模板
	$("#countType").on("change", function(e) {
		changeFreightTemplate();
	});
	//切换运费模板
	function changeFreightTemplate() {
		var index = $("#countType option:checked").index();
		$(".type-content").removeClass("active").eq(index).addClass("active");
	}

	//-----------------删除-----------------
	//点击"删除"按钮
	$("#fixTable,#pieceTable").delegate("a[data-id=delete]", "click", function(e) {
		General.stopEvent(e);
		General.confirm("您确定要删除该配送区域吗?", null, startDelete, null, this);
	});
	//开始删除
	function startDelete(btn) {
		var tr = $(btn).closest("tr");
		//		var id = tr.attr("data-id");
		tr.remove();
	};

	//-----------------限制只能输入数字-----------------
	var commonCheckStr = "input[type=text]"; //检查的字符串
	var eventName = 'keyup blur paste';

	$("td").delegate(commonCheckStr, eventName, function(e) {
		if (e.type == "focusout" || e.type == "paste") {
			checkIsNumber($(e.target), true); //检查输入值是否为数字
		} else {
			checkIsNumber($(e.target)); //检查输入值是否为数字
		}
	});


	/**
	 * 检查输入值是否为数字
	 * @param {String} element 目标元素
	 * @param {Boolean} checkValid 检查数字是否有效
	 */
	function checkIsNumber(element, checkValid) {
		var value = element.val().replace(/[^.0123456789]/g, '');
		if (checkValid) {
			var re = /^[1-9]\d*|^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/; //非负整数+小数点  							
			if (!re.test(value) && value != "") {
				$(element).val(0);
			} else {
				element.val(value);
			}
		} else {
			element.val(value);
		}
	};

	var addType = 0; //当前是哪种类型的添加地区(0:固定运费 1:按件计费)
	//-----------------添加地区(固定运费)-----------------
	//点击"添加地区"按钮
	$("#fixAdd").on("click", function(e) {
		General.stopEvent(e);
		addType = 0; //当前是哪种类型的添加地区
		var title = "选择地区";
		var url = $(this).attr("data-href");
		showDialog(title, url);
	});
	//点击"添加地区"按钮
	$("#pieceAdd").on("click", function(e) {
		General.stopEvent(e);
		addType = 1; //当前是哪种类型的添加地区
		var title = "选择地区";
		var url = $(this).attr("data-href");
		showDialog(title, url);
	});
	//显示弹出窗口
	function showDialog(title, url) {
		General.showDialogWidthHeight(title, url, 900, 500);
	};
	//点击"添加地区"按钮
	function getAreaIds() {
		var result = [];
		var str = "";
		if (addType == 0) {
			$("#fixTable input[name='fixAreaIds[]']").each(function(index) {
				str = $(this).val();
				if (str) {
					result = result.concat(str.split(","));
				}
				unique(result);
			});
		} else {
			$("#pieceTable input[name='pieceAreaIds[]']").each(function(index) {
				str = $(this).val();
				if (str) {
					result = result.concat(str.split(","));
				}
				unique(result);
			});
		}
		return result;
	};
	window.getAreaIds=getAreaIds;
	
	//去掉重复内容
	function unique(arr) {
		for (var i = arr.length - 1; i > 0; i--) {
			var current = arr[i];
			for (var j = i - 1; j >= 0; j--) {
				if (current == arr[j]) {
					arr.splice(i, 1);
					break;
				}
			}
		}
		return arr;
	}
	
	
	//选择地区
	function selectArea(arr) {
		General.closeDialog();
		if(arr.length==0){
			return;
		}
		var ids=[];//保存ID
		var areaStr="";//用于显示地区
		var length=arr.length;
		var sign="、";
		$.each(arr,function (index,obj) {
			ids.push(obj.value);
			if(index<length-1){
				sign="、";
			}else{
				sign="";
			}
			areaStr+='<span data-id="'+obj.value+'">'+obj.text+sign+'</span>';
		});
		ids=ids.join(",");
		
		if (addType == 0) {
			//将内容添加到表格中
			var str = $("#tpl-fix").html();
			var tr = $(str).appendTo($("#fixTable"));
			tr.find("input[name='fixAreaIds[]']").val(ids);
			tr.find("td:eq(0)").append(areaStr);
		} else {
			//将内容添加到表格中
			var str = $("#tpl-piece").html();
			var tr = $(str).appendTo($("#pieceTable"));
			tr.find("input[name='pieceAreaIds[]']").val(ids);
			tr.find("td:eq(0)").append(areaStr);
		}
	}
	window.selectArea=selectArea;
});